package com.sfac.javaSpringBoot.modules.test.dao;

import com.sfac.javaSpringBoot.modules.test.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface StudentRepository extends JpaRepository<Student, Integer> , JpaSpecificationExecutor<Student> {
    Student findFirstByNameAndEmail(String name, String email);


    @Query(value = "from Student where id = :id ")
    Student getStudentById(@Param("id") int id);   //springframework的param

     @Query(nativeQuery=true,value = "select * from test_student where id = :id ")
    Student getStudentByIdForSql(@Param("id") int id);


//     增删改要加Modifying
     @Query(nativeQuery=true,value = "insert into test_student (name,email,age)" +
             "values(:#{#student.name},:#{#student.email},:#{#student.age}) ")
     @Modifying
     void insertStudent(@Param("student") Student student);









}
